<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>函数练习</title>
    <script>
        /* 函数练习 */
        /* 
        定义一个函数，判断一个数字是否是偶数，是返回true，否则返回false
        */

        /* function a(a) {
            if (a % 2 == 0) {
                console.log("偶数");
                return true;
            } else {
                console.log("奇数");
                return false;
            }
        }
        var num = +prompt("请输入数字");
        var reusult = a(num); */

        function a(num) {
            return num % 2 == 0;
        }
        var num1 = +prompt("请输入一个数");
        var result = a(num1);
        console.log("result =" + result);
        /* 
        定义一个函数，可以跟据半径计算一个圆的面积，并返回计算结果
        */
        function area(r) {
            return r * r * Math.PI;
        }

        // var r = +prompt("请输入半径");
        // var result1 = area(r);
        var result1 = area(+prompt("请输入圆的半径"));
        document.write("圆的面积为:" + result1 + "<br/>");


        /* 
        创建一个函数，可以输出一个人的信息

        实参可以是任意数据类型，也可以是一个对象
        当参数过多时，可以将参数封装到一个对象中，然后通过对象传递
        */
        function sayHello(o) {
            document.write(o.name, o.gender, o.age, obj.address);
        }
        //sayHello("名字", "性别", 23, "男");


        //创建一个对象
        var obj = {
            name: "ming",
            age: 18,
            gender: "nan",
            address: "dizhi "

        };
        sayHello(obj);
        /* 
        实参可以是一个对象，也可以是一个函数
        */

        function fun(a) {
            //console.log("a=" + a);
            a(obj);
        }
        //fun(sayHello);
        /* 
        area()
            调用函数
            相当于使用的时函数的返回值
        
        
        area
            函数对象
            相当于直接使用函数对象
        */
        fun(area);
    </script>
</head>

<body>

</body>

</html>